package localhost;

// Generated 27/09/2011 12:16:47 by Hibernate Tools 3.4.0.CR1

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Chamado generated by hbm2java
 */
@Entity
@Table(name = "CHAMADO")
@SequenceGenerator(name = "SEQ_STORE", sequenceName = "SEQ_CHAMADO")
public class Chamado extends ObjetoPersistente implements java.io.Serializable {

	private Long id;
	private Long codigo;
	private Date datahora;
	private String descricao;
	private boolean ematendimento;
	private Boolean urgente;
	private Ocorrencia ocorrencia;

	public Chamado() {
	}

	public Chamado(Long id, Long codigo, Date datahora, String descricao,
			boolean ematendimento) {
		this.id = id;
		this.codigo = codigo;
		this.datahora = datahora;
		this.descricao = descricao;
		this.ematendimento = ematendimento;
	}

	public Chamado(Long id, Long versao, Long codigo, Date datahora,
			String descricao, boolean ematendimento, Boolean urgente) {
		this.id = id;
		setVersao(versao);
		this.codigo = codigo;
		this.datahora = datahora;
		this.descricao = descricao;
		this.ematendimento = ematendimento;
		this.urgente = urgente;
	}

	@Id
	@Column(name = "ID", unique = true, nullable = false)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_STORE")
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "CODIGO", nullable = false)
	public Long getCodigo() {
		return this.codigo;
	}

	public void setCodigo(Long codigo) {
		this.codigo = codigo;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DATAHORA", nullable = false, length = 6)
	public Date getDatahora() {
		return this.datahora;
	}

	public void setDatahora(Date datahora) {
		this.datahora = datahora;
	}

	@Column(name = "DESCRICAO", nullable = false, length = 500)
	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	@Column(name = "EMATENDIMENTO", nullable = false)
	public boolean isEmatendimento() {
		return this.ematendimento;
	}

	public void setEmatendimento(boolean ematendimento) {
		this.ematendimento = ematendimento;
	}

	@Column(name = "URGENTE")
	public Boolean getUrgente() {
		return this.urgente;
	}

	public void setUrgente(Boolean urgente) {
		this.urgente = urgente;
	}

	@OneToOne(mappedBy = "chamado", fetch = FetchType.EAGER)
	public Ocorrencia getOcorrencia() {
		return ocorrencia;
	}

	public void setOcorrencia(Ocorrencia ocorrencia) {
		this.ocorrencia = ocorrencia;
	}

}
